home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu183.dms / pu183.adf / tableofc.bas < prev    next >
BASIC Source File  |  1990-12-04  |  14KB  |  349 lines

  1. 100 REM TABLEOFC Program.
  2. 110 REM Documentation.  Table of Contents.
  3. 120 REM Copyright (c) 1983 - 1987 by: Melvin O. Duke.
  4. ' Ported to the Amiga in March 1988 by Nathan Barber
  5. ' Adaptions for Amiga graphics (c) 1988 by Nathan Barber
  6. 130 DATA Genealogy
  7. 140 DATA User's Manual
  8. 150 DATA -7
  9. 160 DATA 1
  10. 170 INDENT = 0
  11. 180 REM Printer Definitions
  12. 190 FORM.FEED$  = CHR$(12)
  13. 200 COMPR.OFF$  = CHR$(18)     : COMPR.ON$ = CHR$(15)
  14. 210 BOLD.OFF$   = CHR$(27)+"F" : BOLD.ON$ = CHR$(27)+"E"
  15. 220 EXPAND.OFF$ = CHR$(18)     : EXPAND.ON$ = CHR$(14)
  16. 230 DASHES$ = "+"+STRING$(54,45)+"+"
  17. 240 TRIM.LINE$ = "(Trim-line)"
  18. 300 REM Program begins here
  19. 310 READ TITLE$, DOC.NAME$, PAGE.NO, LINE.NO
  20. 320 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  21. 330 GOSUB 920  :REM'For trim line and heading space
  22. 340 FOR I = 1 TO 6 : LPRINT : NEXT I
  23. 350 LPRINT BOLD.ON$;     :REM'Set Emphasized mode
  24. 360 LPRINT EXPAND.ON$;   :REM'Set Expanded Print
  25. 370 LPRINT TAB(TAB.POS-1);TITLE$
  26. 380 LPRINT EXPAND.OFF$;  :REM'Return to normal
  27. 390 LPRINT BOLD.OFF$;    :REM'Return to normal
  28. 400 FOR I = 1 TO 3 : LPRINT : NEXT I
  29. 410 LPRINT BOLD.ON$;     :REM'Set Emphasized mode
  30. 420 LPRINT TAB(TAB.POS+12);"ON DISPLAY"
  31. 430 LPRINT BOLD.OFF$;    :REM'Return to normal
  32. 440 LPRINT : LPRINT : LPRINT
  33. 450 LPRINT TAB(TAB.POS+11);"Version 5.0"
  34. 460 FOR I = 1 TO 11 : LPRINT : NEXT I
  35. 470 LPRINT TAB(TAB.POS+10); DOC.NAME$
  36. 480 LINE.NO = LINE.NO + 27
  37. 490 :REM'
  38. 500 READ REPLY$
  39. 510 REM First, change tildes to quotes
  40. 520 FOR Q = 1 TO LEN(REPLY$)
  41. 530  IF MID$(REPLY$,Q,1)="~"THEN MID$(REPLY$,Q,1)=CHR$(34)
  42. 540 NEXT Q
  43. 550 IF LEFT$(REPLY$,1) = "." THEN GOSUB 1270: GOTO 500
  44. 560 IF LINE.NO > 44 THEN GOSUB 1030
  45. 570 REM Print the line if not a command
  46. 580 LPRINT TAB(TAB.POS);REPLY$
  47. 590 LINE.NO = LINE.NO + 1
  48. 600 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  49. 610 GOTO 500
  50. 620 REM Data for the Copyright Page
  51. 630 DATA ".pa"
  52. 640 DATA " "
  53. 750 DATA ".vt 12"
  54. 760 DATA "Users are encouraged to copy and share"
  55. 770 DATA "the programs with others."
  56. 780 DATA ".vt 5"
  57. 790 DATA "If you are using these programs, you are"
  58. 800 DATA "expected to become a Registered User,"
  59. 810 DATA "by making a contribution to the author"
  60. 815 DATA "of the programs ($45.00 suggested)."
  61. 820 DATA ".sp"
  62. 830 DATA "Melvin O. Duke"
  63. 840 DATA "P. O. Box 20836"
  64. 850 DATA "San Jose, CA  95160"
  65. 860 DATA ".vt 4"
  66. 870 DATA "Copyright (c) 1983 through 1987, by:"
  67. 880 DATA "Melvin O. Duke."
  68. 890 DATA ".sp"
  69. 900 DATA "All rights reserved."
  70. 910 :REM'
  71. 920 REM Top of each page routine
  72. 930 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  73. 940 LPRINT
  74. 950 LPRINT TAB(30); TRIM.LINE$
  75. 960 LPRINT DASHES$ :REM'Dashes
  76. 970 FOR I = 1 TO 6
  77. 980  LPRINT
  78. 990 NEXT I
  79. 1000 LINE.NO = LINE.NO + 6
  80. 1010 RETURN
  81. 1020 :REM'
  82. 1030 REM Bottom of each page Routine
  83. 1040 IF PAGE.NO < 1 THEN LPRINT : LPRINT : LPRINT : GOTO 1160
  84. 1050 LPRINT TAB(TAB.POS); STRING$(40,45)  :REM'on line 46
  85. 1060 LPRINT TAB(TAB.POS+3); TITLE$+" ON DISPLAY.  Version 5.0" :REM'on line 47
  86. 1070 IF PAGE.NO MOD 2 = 1 THEN 1110
  87. 1080 LPRINT TAB(TAB.POS);"Page";PAGE.NO;
  88. 1090 LPRINT TAB(TAB.POS+27);"User's Manual"
  89. 1100 GOTO 1160
  90. 1110 LPRINT TAB(TAB.POS); "User's Manual";
  91. 1120 IF PAGE.NO < 10 THEN DELTA = 34
  92. 1130 IF PAGE.NO >  9 THEN DELTA = 33
  93. 1140 IF PAGE.NO > 99 THEN DELTA = 32
  94. 1150 LPRINT TAB(TAB.POS+DELTA); "Page"; PAGE.NO  :REM'on line 48
  95. 1160 LPRINT : LPRINT : LPRINT
  96. 1170 LPRINT DASHES$ :REM'dashes after 51
  97. 1180 LPRINT TAB(30); TRIM.LINE$
  98. 1190 LPRINT FORM.FEED$;
  99. 1200 PAGE.NO = PAGE.NO + 1
  100. 1210 LINE.NO = 1
  101. 1220 IF REPLY$ = ".eof" THEN 1240  :REM'Bypass after last page
  102. 1230 GOSUB 920  :REM'For top of next page
  103. 1240 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  104. 1250 RETURN
  105. 1260 :REM'
  106. 1270 REM Command Processor
  107. 1280 IF LEFT$(REPLY$,3) = ".h1" THEN 1390
  108. 1290 IF LEFT$(REPLY$,3) = ".h2" THEN 1550
  109. 1300 IF LEFT$(REPLY$,3) = ".h3" THEN 1660
  110. 1310 IF LEFT$(REPLY$,3) = ".sp" THEN 1770
  111. 1320 IF LEFT$(REPLY$,4) = ".eof" THEN 1820
  112. 1330 IF LEFT$(REPLY$,3) = ".pa" THEN 1860
  113. 1340 :REM'
  114. 1350 IF LEFT$(REPLY$,3) = ".vt" THEN 1930
  115. 1360 IF LEFT$(REPLY$,3) = ".pk" THEN 2040
  116. 1370 IF LEFT$(REPLY$,3) = ".in" THEN 2170
  117. 1380 STOP
  118. 1390 REM Head 1 Processor
  119. 1400 FOR I = LINE.NO TO 44
  120. 1410  LPRINT
  121. 1420 NEXT I
  122. 1430 GOSUB 1030  :REM'Bottom of page Routine
  123. 1440 IF PAGE.NO MOD 2 = 0 THEN GOSUB 1860  :REM'For h1 on Odd pages
  124. 1450 LPRINT BOLD.ON$;     :REM'Set emphasized print
  125. 1460 LPRINT EXPAND.ON$;   :REM'Set expanded print
  126. 1470 IF PAGE.NO MOD 2 = 0 THEN ADJUST = -2 :ELSE ADJUST = -5
  127. 1480 LPRINT TAB(TAB.POS+ADJUST); RIGHT$(REPLY$,LEN(REPLY$)-4)
  128. 1490 LPRINT EXPAND.OFF$;  :REM'Return to normal
  129. 1500 LPRINT BOLD.OFF$;    :REM'Return to non-bold
  130. 1510 LINE.NO = LINE.NO+1
  131. 1520 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  132. 1530 RETURN
  133. 1540 :REM'
  134. 1550 REM Head 2 Processor
  135. 1560 IF LINE.NO = 7 THEN 1580 :REM'skip spacing if at top of page
  136. 1570 IF LINE.NO > 43 THEN GOSUB 1860 :ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  137. 1580 LPRINT BOLD.ON$;  :REM'Set emphasized print
  138. 1590 LPRINT TAB(TAB.POS+1); RIGHT$(REPLY$,LEN(REPLY$)-4)
  139. 1600 LPRINT BOLD.OFF$; :REM'Return to normal
  140. 1610 LPRINT
  141. 1620 LINE.NO = LINE.NO + 2
  142. 1630 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  143. 1640 RETURN
  144. 1650 :REM'
  145. 1660 REM Head 3 Processor
  146. 1670 IF LINE.NO = 7 THEN 1690 :REM'skip spacing if at top of page
  147. 1680 IF LINE.NO > 43 THEN GOSUB 1860 :ELSE LPRINT:LPRINT:LINE.NO = LINE.NO+2
  148. 1690 LPRINT BOLD.ON$;  :REM'Set emphasized print
  149. 1700 LPRINT TAB(TAB.POS+1); RIGHT$(REPLY$,LEN(REPLY$)-4)
  150. 1710 LPRINT BOLD.OFF$; :REM'Return to normal
  151. 1720 LPRINT
  152. 1730 LINE.NO = LINE.NO + 2
  153. 1740 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  154. 1750 RETURN
  155. 1760 :REM'
  156. 1770 REM Single Space Processor
  157. 1780 IF LINE.NO = 7 THEN 1800
  158. 1790 IF LINE.NO > 44 THEN GOSUB 1860 :ELSE LPRINT : LINE.NO = LINE.NO + 1
  159. 1800 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  160. 1810 RETURN
  161. 1820 REM End of File Processor
  162. 1830 GOSUB 1860 :REM'Bottom of Page
  163. 1850 GOTO 4500
  164. 1860 REM Page Eject Processor
  165. 1870 FOR I = LINE.NO TO 44
  166. 1880  LPRINT
  167. 1890  LINE.NO = LINE.NO + 1
  168. 1900 NEXT I
  169. 1910 GOSUB 1030  :REM'Bottom of Page Processing
  170. 1920 RETURN
  171. 1930 REM Vertical Tab Processor
  172. 1940 IF LINE.NO = 7 THEN 2030
  173. 1950 IF LINE.NO > 44 THEN GOSUB 1030  :REM'End of page
  174. 1960 QTY = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  175. 1970 FOR I = 1 TO QTY
  176. 1980  LPRINT
  177. 1990  LINE.NO = LINE.NO + 1
  178. 2000  IF LINE.NO > 44 THEN I = QTY
  179. 2010 NEXT I
  180. 2020 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  181. 2030 RETURN
  182. 2040 REM Pack Processor
  183. 2050 IF LINE.NO > 44 THEN GOSUB 1030
  184. 2060 IF TAB.POS = 8 THEN ADJUST = 4
  185. 2070 IF TAB.POS = 13 THEN ADJUST = 7
  186. 2080 TAB.POS = TAB.POS + ADJUST + INDENT
  187. 2090 WIDTH "lpt1:", 132 :REM'set condensed width
  188. 2100 LPRINT COMPR.ON$;  :REM'Packed printing
  189. 2110 LPRINT TAB(TAB.POS); RIGHT$(REPLY$,LEN(REPLY$)-3)
  190. 2120 LPRINT COMPR.OFF$; :REM'Return to normal
  191. 2130 WIDTH "lpt1:", 80  :REM'return to normal
  192. 2140 LINE.NO = LINE.NO + 1
  193. 2150 IF PAGE.NO MOD 2 = 0 THEN TAB.POS = 8 :ELSE TAB.POS = 13
  194. 2160 RETURN
  195. 2170 REM Indent Processor
  196. 2180 INDENT = VAL(RIGHT$(REPLY$,LEN(REPLY$)-3))
  197. 2190 RETURN
  198. 3000 DATA ".h1 TABLE OF CONTENTS"
  199. 3010 DATA ".sp"
  200. 3020 DATA "INTRODUCTION - - - - - - - - - - - -   1"
  201. 3030 DATA "  OVERVIEW - - - - - - - - - - - - -   1"
  202. 3040 DATA "  CAPABILITIES - - - - - - - - - - -   1"
  203. 3050 DATA "    Display the Genealogy  - - - - -   2"
  204. 3060 DATA "    Print Pedigree Charts (Family       "
  205. 3070 DATA "      Trees) - - - - - - - - - - - -   2"
  206. 3080 DATA "    Print Family Group Sheets  - - -   3"
  207. 3090 DATA "    Produce Descendents Charts - - -   3"
  208. 3100 DATA "    Format the Data Files  - - - - -   3"
  209. 3110 DATA "    Update the Data Files  - - - - -   4"
  210. 3120 DATA "    Prepare the Indexes  - - - - - -   4"
  211. 3130 DATA "    List the Records in the File - -   4"
  212. 3140 DATA "    Printing the Contents of the"
  213. 3150 DATA "      files  - - - - - - - - - - - -   5"
  214. 3160 DATA "    Alphabetical Lists - - - - - - -   5"
  215. 3170 DATA "    Parent/Child Index List  - - - -   5"
  216. 3180 DATA "  BENEFITS/ADVANTAGES  - - - - - - -   6"
  217. 3190 DATA "  RESULTS  - - - - - - - - - - - - -   6"
  218. 3200 DATA "  REQUIREMENTS - - - - - - - - - - -   7"
  219. 3210 DATA "    Hardware Requirements  - - - - -   7"
  220. 3220 DATA "    Software Requirements  - - - - -   8"
  221. 3230 DATA ".sp"
  222. 3240 DATA "GENERAL INFORMATION  - - - - - - - -   9"
  223. 3250 DATA "  DATA ACCESS REQUIREMENTS - - - - -   9"
  224. 3260 DATA "  DESCRIPTION OF FUNCTIONS - - - - -   9"
  225. 3270 DATA "    File Formatting  - - - - - - - -   9"
  226. 3280 DATA "    File Maintenance - - - - - - - -   9"
  227. 3290 DATA "    File Indexes - - - - - - - - - -   9"
  228. 3300 DATA "    Summary Lists  - - - - - - - - -  10"
  229. 3310 DATA "    Detailed Data  - - - - - - - - -  10"
  230. 3320 DATA "    Displaying the Genealogy - - - -  10"
  231. 3330 DATA "    Printing Pedigree Charts - - - -  11"
  232. 3340 DATA "    Printing Family Group Sheets - -  11"
  233. 3350 DATA "    Producing Descendents Charts - -  11"
  234. 3360 DATA ".pa"
  235. 3370 DATA "  DEFINITION OF TERMS  - - - - - - -  12"
  236. 3380 DATA "    Personal Information - - - - - -  12"
  237. 3390 DATA "    Pedigree Information - - - - - -  12"
  238. 3400 DATA "    Family Group Information - - - -  12"
  239. 3410 DATA "    Descendants Information  - - - -  13"
  240. 3420 DATA "    Ordinance Information  - - - - -  13"
  241. 3430 DATA "  EXPLANATION OF GENERAL CONCEPTS  -  14"
  242. 3440 DATA "    Persfile - - - - - - - - - - - -  15"
  243. 3450 DATA "    Marrfile - - - - - - - - - - - -  16"
  244. 3460 DATA "    Pcindex  - - - - - - - - - - - -  17"
  245. 3470 DATA "    Mindex - - - - - - - - - - - - -  17"
  246. 3480 DATA "    Ordfile  - - - - - - - - - - - -  18"
  247. 3490 DATA "    Relationships  - - - - - - - - -  19"
  248. 3500 DATA "  BEFORE YOU START - - - - - - - - -  20"
  249. 3510 DATA "    List of Persons  - - - - - - - -  20"
  250. 3520 DATA "    List of Marriages  - - - - - - -  22"
  251. 3530 DATA ".sp"
  252. 3540 DATA "USING THE PROGRAMS - - - - - - - - -  23"
  253. 3550 DATA "  GETTING STARTED  - - - - - - - - -  23"
  254. 3560 DATA "  FIRST TIME USAGE - - - - - - - - -  25"
  255. 3570 DATA "    Backing up the Diskettes - - - -  25"
  256. 3580 DATA "    Preparing a new Data Diskette  -  25"
  257. 3590 DATA "    Copying the Verifile Data File -  26"
  258. 3600 DATA "    Copying the Menu Program - - - -  27"
  259. 3610 DATA "    Formatting the Data Files  - - -  28"
  260. 3620 DATA "    Caution  - - - - - - - - - - - -  29"
  261. 3630 DATA "  HOW TO OPERATE - - - - - - - - - -  30"
  262. 3640 DATA "    Selecting an individual program   30"
  263. 3650 DATA "    Operating the updatper program -  31"
  264. 3660 DATA "    Operating the updatmar program -  33"
  265. 3670 DATA "    Operating the updatord program -  35"
  266. 3680 DATA "    Operating the indexpc program  -  36"
  267. 3690 DATA "    Operating the indexmar program -  37"
  268. 3700 DATA "    Operating the display program  -  38"
  269. 3710 DATA "    Operating the pedigree program -  41"
  270. 3720 DATA "    Operating the family program - -  42"
  271. 3730 DATA "    Operating the descend program  -  43"
  272. 3740 DATA "    Operating the other programs - -  43"
  273. 3750 DATA ".sp"
  274. 3760 DATA "  HOW TO STOP  - - - - - - - - - - -  44"
  275. 3770 DATA "    Stopping the update programs - -  44"
  276. 3780 DATA "    Stopping the display program - -  44"
  277. 3790 DATA "    Stopping the pedigree program  -  44"
  278. 3800 DATA "    Stopping the family program  - -  45"
  279. 3810 DATA "    Stopping the descend program - -  45"
  280. 3820 DATA "    Stopping the other programs  - -  45"
  281. 3830 DATA ".sp"
  282. 3840 DATA "REFERENCE MATERIAL - - - - - - - - -  47"
  283. 3850 DATA "  SAMPLE SCREENS AND PROMPTING"
  284. 3860 DATA "      MESSAGES - - - - - - - - - - -  47"
  285. 3870 DATA "    Menu Logo  - - - - - - - - - - -  48"
  286. 3880 DATA "    Menu of Programs - - - - - - - -  49"
  287. 3890 DATA "    Display Logo - - - - - - - - - -  50"
  288. 3900 DATA "    Personal Information - - - - - -  52"
  289. 3910 DATA "    Pedigree Information - - - - - -  53"
  290. 3920 DATA "    Family Group Information - - - -  54"
  291. 3930 DATA "    Ordinance Information  - - - - -  55"
  292. 3940 DATA "  COMMANDS USED  - - - - - - - - - -  57"
  293. 3950 DATA "    Basic Command  - - - - - - - - -  57"
  294. 3960 DATA "    Load Command - - - - - - - - - -  57"
  295. 3970 DATA "    Save Command - - - - - - - - - -  57"
  296. 3980 DATA "    Run Command  - - - - - - - - - -  58"
  297. 3990 DATA ".sp"
  298. 4000 DATA "APPENDIX A.  MESSAGES  - - - - - - -  59"
  299. 4010 DATA "  Start-up Messages  - - - - - - - -  59"
  300. 4020 DATA ".sp"
  301. 4030 DATA "APPENDIX B. SUMMARY  - - - - - - - -  61"
  302. 4040 DATA "  General Programs - - - - - - - - -  61"
  303. 4050 DATA "  Data Files - - - - - - - - - - - -  62"
  304. 4060 DATA "  Indexes  - - - - - - - - - - - - -  63"
  305. 4070 DATA "  Documentation  - - - - - - - - - -  63"
  306. 4080 DATA "  Overview Information - - - - - - -  63"
  307. 4090 DATA ".pa"
  308. 4100 DATA "APPENDIX C. HINTS  - - - - - - - - -  65"
  309. 4110 DATA "  Names  - - - - - - - - - - - - - -  65"
  310. 4120 DATA "  Dates  - - - - - - - - - - - - - -  65"
  311. 4130 DATA "  Replacing Information  - - - - - -  65"
  312. 4140 DATA "  Removing a Record  - - - - - - - -  66"
  313. 4150 DATA ".sp"
  314. 4160 DATA "APPENDIX D.  MODIFICATIONS - - - - -  67"
  315. 4170 DATA "  Making Changes - - - - - - - - - -  67"
  316. 4180 DATA "  Color Considerations - - - - - - -  67"
  317. 4190 DATA "  Color Definitions  - - - - - - - -  68"
  318. 4200 DATA "  Changing the Number of Persons - -  68"
  319. 4210 DATA "    Extending Existing Files - - - -  69"
  320. 4220 DATA "  Printing a Partial Alphabetic List  70"
  321. 4230 DATA "  Changing the Number of Marriages -  70"
  322. 4240 DATA "    Extending an Existing File - - -  71"
  323. 4250 DATA "  Printing Partial Files - - - - - -  72"
  324. 4260 DATA "    Partial Printout of Persons  - -  72"
  325. 4270 DATA "    Partial Printout of Marriages  -  72"
  326. 4280 DATA "  Repositioning the Files  - - - - -  73"
  327. 4290 DATA "  Removing Person and Marriage"
  328. 4300 DATA "    Numbers  - - - - - - - - - - - -  74"
  329. 4310 DATA "  Changing the Descendents Chart - -  74"
  330. 4320 DATA "   Making the Descendents Chart"
  331. 4330 DATA "     Continuous  - - - - - - - - - -  74"
  332. 4340 DATA "   Changing the Generations Shown  -  75"
  333. 4350 DATA "  Family Group Binding Space - - - -  75"
  334. 4360 DATA "  Removing the Ordinances File - - -  76"
  335. 4370 DATA "  Changing Sex Designations  - - - -  77"
  336. 4380 DATA "  Utilizing Other Printers - - - - -  77"
  337. 4390 DATA "  Paper Considerations - - - - - - -  78"
  338. 4400 DATA "   Use of Wide Paper - - - - - - - -  79"
  339. 4410 DATA "   Use of Short Paper  - - - - - - -  79"
  340. 4420 DATA "   Use of Single Sheets  - - - - - -  79"
  341. 4430 DATA "  Defining Function Keys - - - - - -  80"
  342. 4440 DATA ".pa"
  343. 4450 DATA "APPENDIX E.  TERMS & CONDITIONS  - -  81"
  344. 4460 DATA "  Terms  - - - - - - - - - - - - - -  81"
  345. 4470 DATA "  Conditions - - - - - - - - - - - -  82"
  346. 4480 DATA "  Disclaimer - - - - - - - - - - - -  82"
  347. 4490 DATA ".eof"
  348. 4500 END
  349.